#!usr/bin/env python3
# -*- coding: utf-8 -*-

'''
第十六章 下载数据-处理 json 数据 绘制世界人口地图
'''

import json,os
from pygal.style import RotateStyle,LightColorizedStyle
from utils.commonUtil import *
from pygal_maps_world.maps import World

rootUrl = os.path.dirname(__file__)
jsonUrl = os.path.join(rootUrl,"population_data.json")


#pop_data = None

with open(jsonUrl) as f:
    pop_data = json.load(f)

#print(pop_data)
# print(int("124.34")) #特别注意 Python不把小数的字符串直接转换成整数 需要 int(float("124.34")) 先转浮点型 再转换整型
# 需要额外安装 世界地图模块 pip install pygal_maps_world -i https://pypi.douban.com/simple

country_codes = []
pop_nums = []
pop_dict = {}



for inf in pop_data:
    if inf['Year'] == "2010":
        num = int(float(inf['Value']))
        pop_nums.append(num)
        code = get_country_code(inf['Country Name'])
        if code:
            country_codes.append(code)
            pop_dict[code] = num/10000 


wm_style = RotateStyle("#336699",base_style=LightColorizedStyle)
wm = World(style=wm_style) #实例化世界地图
wm.title = "2010年世界人口分布图"
'''
wm.add('North America', ['ca', 'mx', 'us']) #添加标题 和对应国家的国家码
wm.add('Central America', ['bz', 'cr', 'gt', 'hn', 'ni', 'pa', 'sv'])
wm.add('South America', ['ar', 'bo', 'br', 'cl', 'co', 'ec', 'gf',
'gy', 'pe', 'py', 'sr', 'uy', 've'])
'''
wm.add("2010",pop_dict)
wm.render_to_file(os.path.join(rootUrl,'wolrdMap.svg'))